﻿using Utility.Enum;

namespace Model.DomainModel
{
    /// <summary>
    /// 流程申请模型
    /// </summary>
    public class FlowApply
    {
        /// <summary>
        /// 流程申请主键
        /// </summary>
        public string FlowApplyId { get; set; } = string.Empty;

        /// <summary>
        /// 流程申请标题
        /// </summary>
        public string ApplyTitle { get; set; } = string.Empty;

        /// <summary>
        /// 流程id
        /// </summary>
        public string FlowId { get; set; } = string.Empty;

        /// <summary>
        /// 表单id
        /// </summary>
        public string FormId { get; set; } = string.Empty;

        /// <summary>
        /// 是否发布  0：否 1：是
        /// </summary>
        public bool IsPublish { get; set; }

        /// <summary>
        /// 流程申请状态
        /// </summary>
        public int FlowApplyState { get; set; }

        /// <summary>
        /// 申请填写的表单数据
        /// </summary>
        public string FormData { get; set; } = string.Empty;

        /// <summary>
        /// 流程内容
        /// </summary>
        public string FlowContent { get; set; } = string.Empty;

        /// <summary>
        /// 当前审批节点Id
        /// </summary>
        public string CurrentNodeId { get; set; } = string.Empty;

        /// <summary>
        /// 当前审批节点名称
        /// </summary>
        public string CurrentNodeName { get; set; } = string.Empty;

        /// <summary>
        /// 当前节点审核人Id
        /// </summary>
        public string CurrentNodeReviewerId { get; set; } = string.Empty;

        /// <summary>
        /// 当前节点审核人姓名
        /// </summary>
        public string CurrentNodeReviewerName { get; set; } = string.Empty;

        /// <summary>
        /// 当前节点审核状态
        /// </summary>
        public int CurrentNodeState { get; set; }

        /// <summary>
        /// 当前节点更新时间
        /// </summary>
        public DateTime? CurrentNodeUpdateTime { get; set; }

        /// <summary>
        /// 下一个审批节点Id
        /// </summary>
        public string NextNodeId { get; set; } = string.Empty;

        /// <summary>
        /// 下一个审批节点名称
        /// </summary>
        public string NextNodeName { get; set; } = string.Empty;

        /// <summary>
        /// 下一个节点审核人Id
        /// </summary>
        public string NextNodeReviewerId { get; set; } = string.Empty;

        /// <summary>
        /// 下一个节点审核人姓名
        /// </summary>
        public string NextNodeReviewerName { get; set; } = string.Empty;

        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; } = string.Empty;

        /// <summary>
        /// 加急指数
        /// </summary>
        public int UrgentIndex { get; set; }

        /// <summary>
        /// 数据状态
        /// </summary>
        public DataStateEnum DataState { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 创建人员key
        /// </summary>
        public string CreateUserKey { get; set; } = string.Empty;
    }
}
